package cn.melonlib.cores.jpa.model.bean;

import cn.melonlib.cores.commons.comp.enums.OrderByType;
import cn.melonlib.cores.commons.comp.enums.QueryType;
import cn.melonlib.cores.commons.model.entity.IEntity;
import cn.melonlib.objects.maps.JsonMap;

import java.io.Serializable;
import java.util.List;

/**
 * 查询语句
 */
public interface Query extends CharSequence{
    /**
     * 查询语句
     * @return
     */
    String getContent();

    /**
     * 查询参数
     * @return
     */
    List<? extends Serializable> getParams();

    QueryType getQueryType();

    Class<? extends IEntity> getEntityClass();

    JsonMap<JsonMap<Object>> getFilter();

    JsonMap<OrderByType> getOrderBy();
}
